[ef-30] feat: post-publish smoke test pipeline + bump to 0.0.1-beta.6#27
Conversation
Adds .github/workflows/smoke-test.yml that triggers after every npm publish, installs the package on ubuntu/macos/windows with exponential backoff (0→2→4→8→30→60s) while waiting for registry propagation, then verifies --version and HTML output of /policies and /projects pages. Golden HTML snapshots in .github/smoke-test/expected/ are placeholders until generated locally and committed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThis PR introduces a post-publish smoke test workflow that validates the npm package functions correctly across multiple operating systems. It includes placeholder snapshot files for HTML comparison and a GitHub Actions workflow that installs the published package, runs the application server, captures endpoint responses, and compares them against expected snapshots. Changes
Sequence Diagram(s)sequenceDiagram
actor GitHub as GitHub Actions
participant npm as npm Registry
participant app as failproofai App
participant http as HTTP Endpoints
participant python as Python Validator
GitHub->>npm: Resolve package version
npm-->>GitHub: Return version
GitHub->>npm: Poll for version availability
npm-->>GitHub: Version available
GitHub->>GitHub: npm install -g failproofai
GitHub->>app: Start server (CLAUDE_PROJECTS_PATH set)
app-->>GitHub: Server ready (PID recorded)
GitHub->>http: Poll http://localhost:8020/
http-->>GitHub: Server reachable
GitHub->>http: Fetch /policies endpoint
http-->>GitHub: HTML response
GitHub->>http: Fetch /projects endpoint
http-->>GitHub: HTML response
GitHub->>app: Stop server
GitHub->>python: Run comparison script
python->>python: Normalize dynamic content<br/>(strip __NEXT_DATA__, RSC scripts,<br/>build hashes)
python-->>GitHub: Comparison result
alt Mismatch Detected
GitHub->>GitHub: Upload artifacts
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
…#27) Adds .github/workflows/smoke-test.yml that triggers after every npm publish, installs the package on ubuntu/macos/windows with exponential backoff (0→2→4→8→30→60s) while waiting for registry propagation, then verifies --version and HTML output of /policies and /projects pages. Golden HTML snapshots in .github/smoke-test/expected/ are placeholders until generated locally and committed. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
.github/workflows/smoke-test.ymlthat auto-triggers after every successful npm publish--versionoutput matches released version,/policiesand/projectsHTML matches golden snapshots0.0.1-beta.6Golden snapshots
The HTML snapshot files under
.github/smoke-test/expected/are currently placeholders. To enable the HTML comparison step, run locally and commit:Until then, the workflow skips the comparison and prints a warning — all other smoke tests (install, version) still run.
Test plan
gh workflow run smoke-test.ymlto manually trigger against the current published version🤖 Generated with Claude Code
Summary by CodeRabbit